//package com.fun.demo.fun.kayang;
//
//import java.sql.*;
//import java.time.LocalDate;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//public class Database {
//
//    public static void main(String[] args) throws SQLException {
//
//        Connection conn1 = getConnection(DBInfo.Ocean);
//        //       exec(conn1);
//        //  execProc(conn1);
//        execMultiSql(conn1);
////        List list = getProcParamList(conn1, "skySecUserAuth");
////        System.out.println(list);
//        //      query(conn1);
////        Connection conn2 = getConnection(DBInfo.DaMeng);
////        query(conn2);
////
////        Connection conn3 = getConnection(DBInfo.Oracle);
////        query(conn3);
////
////        Connection conn4 = getConnection(DBInfo.SqlServer);
////        query(conn4);
//
//    }
//
//    public static Connection getConnection(DBInfo db){
//        Connection conn = null;
//        try {
//            Class.forName(db.jdbcDriver);
//            System.out.println(db.name +"数据库驱动加载成功");
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//        }
//        try {
//            conn = DriverManager.getConnection(db.jdbcurl, db.user, db.pwd); // hrsys  root, pwd: Kayang@123
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return conn;
//    }
//
//    public static List getProcParamList(Connection con, String procName) throws SQLException {
//        ResultSet resultSet =  con.getMetaData().getProcedureColumns(con.getCatalog(), "HRSYS", procName.toUpperCase(), null);
//        int colCount = resultSet.getMetaData().getColumnCount();
//        List list = new ArrayList();
//        while (resultSet.next()){
//            Map<String, Object> data = new HashMap<>();
//            for (int i = 0; i < colCount; i++) {
//                String col = resultSet.getMetaData().getColumnName(i + 1);
//                Object val = resultSet.getObject(i + 1);
//                data.put(col, val);
//                list.add(data);
//            }
//        }
//        return list;
//    }
//
//    public  static void execProc(Connection con){
//        CallableStatement cs = null;
//        String xsql = "{ call tmp_skySecUserEdit(?,?,?,?,?)}";
//        try {
//            cs = con.prepareCall(xsql);
//            cs.setObject(1, null);
//            cs.setObject(2, null);
//            cs.setObject(3, LocalDate.now());
//            cs.setObject(4, null);
//            cs.setObject(5, null);
//            cs.execute();
//            System.out.println("success.");
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }finally {
//            try {
//                if(cs != null) cs.close();
//            } catch (SQLException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//
//    public static  void query( Connection con) {
//        PreparedStatement preparedStatement = null;
//        ResultSet resultSet = null;
//        String xsql = "select * from skySecHResource";
//        try {
//            preparedStatement = con.prepareStatement(xsql);
//            resultSet = preparedStatement.executeQuery();
//            while (resultSet.next()) {
//                int c = resultSet.getMetaData().getColumnCount();
//                for (int i = 0; i < c; i++) {
//                    System.out.println(resultSet.getMetaData().getColumnName(i + 1) + " - " + resultSet.getString(i + 1));
//                }
//            }
//        }catch (SQLException e){
//            e.printStackTrace();
//        }finally {
//            if(resultSet != null){
//                try {
//                    resultSet.close();
//                } catch (SQLException e) {
//                    e.printStackTrace();
//                }
//            }
//            if(con != null){
//                try {
//                    con.close();
//                } catch (SQLException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//
//
//    }
//
//    public static  void exec( Connection con) {
//        PreparedStatement preparedStatement = null;
//        String xsql = "update SKYPAYMASTERPROCESSB set enddate=? ,remark=? from SKYPAYMASTERPROCESSB Y INNER JOIN SKYPAYMASTER_1001 Y1 \n" +
//                "on Y.JSID= Y1.JSID AND Y.PEID = Y1.PEID  where Y.PEID=? and Y.PGID =? AND Y.JSID =? ";
//        try {
//            preparedStatement = con.prepareStatement(xsql, Statement.RETURN_GENERATED_KEYS);
//            preparedStatement.setObject(1, "1920-01-01");
//            preparedStatement.setString(2, "cscscs");
//            preparedStatement.setInt(3,100000);
//            preparedStatement.setInt(4,1001);
//            preparedStatement.setInt(5,100101);
//            preparedStatement.executeUpdate(xsql);
//            ResultSet set = preparedStatement.getGeneratedKeys();
//            while (set.next()){
//                Long o = set.getLong(1);
//                System.out.println(o);
//            }
//
//        }catch (SQLException e){
//            e.printStackTrace();
//        }finally {
//            if(con != null){
//                try {
//                    con.close();
//                } catch (SQLException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//
//
//    }
//
//    public static  void execMultiSql( Connection con) {
//        PreparedStatement preparedStatement = null;
//        String xsql =
//                "UPDATE skydatafiles SET remark='a71' WHERE id=71;\n" +
//                        " UPDATE skydatafiles SET remark='a72' WHERE id=72"
//                ;
//        try {
//            preparedStatement = con.prepareStatement(xsql);
//            int r = preparedStatement.executeUpdate(xsql);
//            System.out.println("执行结果r: " + r);
//        }catch (SQLException e){
//            e.printStackTrace();
//        }finally {
//            if(con != null){
//                try {
//                    con.close();
//                } catch (SQLException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//
//
//    }
//
//
//    enum DBInfo {
//        //url=jdbc:dm://192.168.0.70:5236/HRTEST;user=hrtest;password=hrsystem123;driver=dm.jdbc.driver.DmDriver
//        //    DaMeng(1, "DaMeng", "dm.jdbc.driver.DmDriver" ,"jdbc:dm://192.168.0.70:5236/HMV9", "hrsys" , "hrsystem@123")
//        //    MySql(2, "Mysql", "com.mysql.cj.jdbc.Driver", "jdbc:mysql://192.168.0.70:3306/HMV9",  "hrsys" , "Kayang@123" )
//        //  Oracle(3, "Oracle", "oracle.jdbc.OracleDriver", "jdbc:oracle:thin:@192.168.0.93:1521:ORCL"  ,"hrsys" , "hrsys"),
//        //     SqlServer(4, "SqlServer", "com.microsoft.sqlserver.jdbc.SQLServerDriver", "jdbc:sqlserver://192.168.0.23:1431;databaseName=v9demo;" , "hrsys" , "hrsystem");
//        Ocean(5, "Ocean", "com.mysql.cj.jdbc.Driver", "jdbc:mysql://172.18.10.10:2883/hrmv9?useServerPrepStmts=false&allowMultiexecs=true",  "hrsys@mysqlt#obcluster" , "G5-1!8#23kyA");
//
//        /**
//         * #type=ocean
//         * #server=172.18.10.10:2883
//         * #dbname=v9demo
//         * #account=root@mysqlt#obcluster
//         * #password=WElcome12#_
//         *
//         */
//
//        private int id;
//        private String name;
//        private String jdbcDriver;
//        private String jdbcurl;
//        private String user;
//        private String pwd;
//
//
//        DBInfo(int id, String name, String jdbcDriver, String jdbcurl, String user, String pwd){
//            this.id = id;
//            this.name = name;
//            this.jdbcDriver = jdbcDriver;
//            this.jdbcurl = jdbcurl;
//            this.user = user;
//            this.pwd = pwd;
//        }
//    }
//
//}
